System and Method for Improved Transmission of Meter Data

ABSTRACT

The system includes a number of first meters, which are typically battery powered transmit only devices. The system includes a number of two-way meters, which are operable to both transmit and receive data. The first meters transmit their data to the collector either directly or indirectly via the two-way meters, which serve as intermediaries. Multiple records from each first meter may be stored at each of the two-way meters, thereby ensuring that records from a one-way meter will not be blocked when an attempt is made to forward them to the collector. Furthermore, multiple records from each first meter may be stored at the collector, thereby enabling the transmission and storage of meter records in a number of different formats. Additionally, records from each first meter are marked to reflect a sequence in which they are generated, thereby ensuring that the collector will store the most recent data records available.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is related by subject matter to U.S. patent applicationSer. No. 10/185,074, filed Jun. 28, 2002, entitled “Data Collector foran Automated Meter Reading System” (Attorney Docket No.ABME-0793/E20020100) and to U.S. patent application Ser. No. 10/185,664,filed Jun. 27, 2002, entitled “Dynamic Self-Configuring MeteringNetwork” (Attorney Docket No. ABME-0796/E20020120), the contents ofwhich are hereby incorporated by reference in their entireties.

This application is also related to U.S. patent application Ser. No.10/831,903, filed Apr. 26, 2004, entitled “Method And System ForConfigurable Qualification And Registration In A Fixed Network AutomatedMeter Reading System” (Attorney Docket No. ELSE-0839) and to U.S. patentapplication Ser. No. 10/832,410, filed Apr. 26, 2004, entitled “SystemAnd Method For Efficient Configuration In A Fixed Network AutomatedMeter Reading System” (Attorney Docket No. ELSE-0838), both of which arealso hereby incorporated by reference in their entireties.

FIELD OF THE INVENTION

The present invention relates to metering systems, and moreparticularly, to wireless networks for gathering metering data.

BACKGROUND

The collection of meter data from electrical energy, water, and gasmeters has traditionally been performed by human meter-readers. Themeter-reader travels to the meter location, which is frequently on thecustomer's premises, visually inspects the meter, and records thereading. The meter-reader may be prevented from gaining access to themeter as a result of inclement weather or, where the meter is locatedwithin the customer's premises, due to an absentee customer. Thismethodology of meter data collection is labor intensive, prone to humanerror, and often results in stale and inflexible metering data.

Some meters have been enhanced to include a one-way radio transmitterfor transmitting metering data to a receiving device. A personcollecting meter data that is equipped with an appropriate radioreceiver need only come into proximity with a meter to read the meterdata and need not visually inspect the meter. Thus, a meter-reader maywalk or drive by a meter location to take a meter reading. While thisrepresents an improvement over visiting and visually inspecting eachmeter, it still requires human involvement in the process.

An automated means for collecting meter data involves a fixed wirelessnetwork. Devices such as, for example, repeaters and gateways arepermanently affixed on rooftops and pole-tops and strategicallypositioned to receive data from enhanced meters fitted withradio-transmitters. Data is transmitted from the meters to the repeatersand gateways and ultimately communicated to a central location. Whilefixed wireless networks greatly reduce human involvement in the processof meter reading, such systems require the installation and maintenanceof a fixed network of repeaters, gateways, and servers. Identifying anacceptable location for a repeater or server and physically placing thedevice in the desired location on top of a building or utility pole is atedious and labor-intensive operation. Furthermore, each meter that isinstalled in the network needs to be manually configured to communicatewith a particular portion of the established network. When a portion ofthe network fails to operate as intended, human intervention istypically required to test the effected components and reconfigure thenetwork to return it to operation. Thus, while existing fixed wirelesssystems have reduced the need for human involvement in the dailycollection of meter data, such systems require substantial humaninvestment in planning, installation, and maintenance and are relativelyinflexible and difficult to manage.

SUMMARY

A dynamic self-configuring system for collecting meter data is disclosedherein. In an illustrative embodiment, a plurality of meter devices,which operate to track usage of a service or commodity such as, forexample, electricity, water, and gas, are operable to wirelesslycommunicate. One of the meter devices, which is referred to as acollector, broadcasts messages to identify one or more of the meterswith which it can directly communicate. The meters with which thecollector is operable to directly communicate may be referred to aslevel one meters. Data designating these meters as level one meters isstored on the collector and the level one meters.

The collector communicates instructions to the level one meters to scanfor meters that are operable to directly communicate with the level onemeters. Meters that directly communicate with the level one meters maybe referred to as level two meters. Data identifying the level twometers and the communication path to the level two meters is stored onthe collector and the level two meters.

The collector continues the process of scanning the last defined levelof meters for new meters that communicate with the last defined level.This process gradually provides identification of the meters in thenetwork and the paths by which to communicate with each meter.Additionally, when new meters are added to the network, they areidentified via subsequent scans.

In an embodiment of the invention, the system includes a number of firstmeters, which are typically battery powered transmit only devices. Thesystem includes a number of two-way meters, which are operable to bothtransmit and receive data. The first meters transmit their data to thecollector either directly or indirectly via the two-way meters, whichserve as intermediaries. Multiple records from each first meter may bestored at each of the two-way meters, thereby ensuring that records froma one-way meter will not be blocked when an attempt is made to forwardthem to the collector. Furthermore, multiple records from each firstmeter may be stored at the collector, thereby enabling the transmissionand storage of meter records in a number of different formats.Additionally, records from each first meter are marked to reflect asequence in which they are generated, thereby ensuring that thecollector will store the most recent data records available.

BRIEF DESCRIPTION OF THE DRAWINGS

Other features of systems and methods for gathering metering data arefurther apparent from the following detailed description of exemplaryembodiments taken in conjunction with the accompanying drawings, ofwhich:

FIG. 1 is a diagram of a wireless system for collecting meter data;

FIG. 2 depicts a flow chart of a process for exception handling;

FIGS. 3A and 3B depicts a flow chart of a process for registering nodeswith a collector;

FIG. 4 depicts a flow chart of a process for registering a newly addedmeter;

FIG. 5 depicts a flow chart of a process for switching the communicationpath for a registered node to a new collector;

FIG. 6 depicts a flow chart of a process for reading usage data;

FIG. 7 depicts a flow chart of a process for reading data from a one-waymeter;

FIG. 8 depicts a block diagram of a meter suitable for use with thedisclosed embodiments;

FIG. 9 depicts a flow chart of an exemplary process for transmittingmeter data from a first meter to a collector;

FIG. 10 depicts a flow chart of an exemplary process for transmittingmeter data from an intermediate two-way meter to a collector;

FIG. 11 depicts a flow chart an exemplary process for storing a meterrecord at a collector; and

FIG. 12 is a diagram of a general purpose computing device.

DETAILED DESCRIPTION

Exemplary systems and methods for gathering meter data are describedbelow with reference to FIGS. 1-12. It will be appreciated by those ofordinary skill in the art that the description given herein with respectto those figures is for exemplary purposes only and is not intended inany way to limit the scope of potential embodiments.

Generally, a plurality of meter devices, which operate to track usage ofa service or commodity such as, for example, electricity, water, andgas, are operable to wirelessly communicate with each other. A collectormeter is operable to automatically identify and register meters forcommunication with the collector meter. When a meter is installed, themeter becomes registered with the collector that can provide acommunication path to the meter. The collectors receive and compilemetering data from a plurality of meter devices via wirelesscommunications. A communications server communicates with the collectorsto retrieve the compiled meter data.

FIG. 1 provides a diagram of an exemplary metering system 110. System110 comprises a plurality of meters 114, which are operable to sense andrecord usage of a service or commodity such as, for example,electricity, water, or gas. Meters 114 may be located at customerpremises such as, for example, a home or place of business. Meters 114comprise an antenna and are operable to transmit data, including serviceusage data, wirelessly. Meters 114 may be further operable to receivedata wirelessly as well. In an illustrative embodiment, meters 114 maybe, for example, electrical meters manufactured by Elster Electricity,LLC.

System 110 further comprises collectors 116. Collectors 116 are alsometers operable to detect and record usage of a service or commoditysuch as, for example, electricity, water, or gas. Collectors 116comprise an antenna and are operable to send and receive datawirelessly. In particular, collectors 116 are operable to send data toand receive data from meters 114. In an illustrative embodiment, meters114 may be, for example, an electrical meter manufactured by ElsterElectricity, LLC.

A collector 116 and the meters 114 for which it is configured to receivemeter data define a subnet 120 of system 110. For each subnet 120, datais collected at collector 116 and periodically transmitted tocommunication server 122. Communication server 122 stores the data foranalysis and preparation of bills. Communication server 122 may be aspecially programmed general purpose computing system and maycommunicate with collectors 116 wirelessly or via a wire line connectionsuch as, for example, a dial-up telephone connection or fixed wirenetwork.

Thus, each subnet 120 comprises a collector 116 and one or more meters114, which may be referred to as nodes of the subnet. Typically,collector 116 directly communicates with only a subset of the pluralityof meters 114 in the particular subnet. Meters 114 with which collector116 directly communicates may be referred to as level one meters 114 a.The level one meters 114 a are said to be one “hop” from the collector116. Communications between collector 116 and meters 114 other thanlevel one meters 114 a are relayed through the level one meters 114 a.Thus, the level one meters 114 a operate as repeaters for communicationsbetween collector 116 and meters 114 located further away in subnet 120.

Each level one meter 114 a directly communicates with only a subset ofthe remaining meters 114 in the subnet 120. The meters 114 with whichthe level one meters 114 a directly communicate may be referred to aslevel two meters 114 b. Level two meters 114 b are one “hop” from levelone meters 114 a, and therefore two “hops” from collector 116. Level twometers 114 b operate as repeaters for communications between the levelone meters 114 a and meters 114 located further away from collector 116in the subnet 120.

While only two levels of meters are shown (collector 114, first level114 a, second level 114 b) in FIG. 1, a subnet 120 may comprise anynumber of levels of meters 114. For example, a subnet 120 may compriseone level of meters but might also comprise eight or more levels ofmeters 114. In an embodiment wherein a subnet comprises eight levels ofmeters 114, as many as 1024 meters might be registered with a singlecollector 116.

Each meter 114 and collector 116 that is installed in the system 110 hasa unique identifier stored thereon that uniquely identifies the devicefrom all other devices in the system 110. Additionally, meters 114operating in a subnet 120 comprise information including the following:data identifying the collector with which the meter is registered; thelevel in the subnet at which the meter is located; the repeater meterwith which the meter communicates to send and receive data to thecollector; an identifier indicating whether the meter is a repeater forother nodes in the subnet; and if the meter operates as a repeater, theidentifier that uniquely identifies the repeater within the particularsubnet, and the number of meters for which it is a repeater. Collectors116 have stored thereon all of this same data for all meters 114 thatare registered therewith. Thus, collector 116 comprises data identifyingall nodes registered therewith as well as data identifying theregistered path by which data is communicated with each node.

Generally, collector 116 and meters 114 communicate with and amongst oneanother using any one of several robust wireless techniques such as, forexample, frequency hopping spread spectrum (FHSS) and direct sequencespread spectrum (DSSS).

For most network tasks such as, for example, reading data, collector 116communicates with meters 114 in the subnet 120 using point-to-pointtransmissions. For example, a message or instruction from collector 116is routed through a defined set of meter hops to the desired meter 114.Similarly, a meter 114 communicates with collector 117 through the sameset of meter hops, but in reverse.

In some instances, however, collector 117 needs to quickly communicateinformation to all meters 114 located in its subnet 120. Accordingly,collector 117 may issue a broadcast message that is meant to reach allnodes in the subnet 120. The broadcast message may be referred to as a“flood broadcast message.” A flood broadcast originates at collector 116and propagates through the entire subnet 120 one level at a time. Forexample, collector 116 may transmit a flood broadcast to all first levelmeters 114 a. The first level meters 114 a that receive the message picka random time slot and retransmit the broadcast message to second levelmeters 114 b. Any second level meter 114 b can accept the broadcast,thereby providing better coverage from the collector out to the endpoint meters. Similarly, the second level meters 114 b that receive thebroadcast message pick a random time slot and communicate the broadcastmessage to third level meters. This process continues out until the endnodes of the subnet. Thus, a broadcast message gradually propagates outthe subnet 120.

The flood broadcast packet header contains information to prevent nodesfrom repeating the flood broadcast packet more than once per level. Forexample, within a flood broadcast message, a field might exist thatindicates to meters/nodes which receive the message, the level of thesubnet the message is located; only nodes at that particular level mayre-broadcast the message to the next level. If the collector broadcastsa flood message with a level of 1, only level 1 nodes may respond. Priorto re-broadcasting the flood message, the level 1 nodes increment thefield to 2 so that only level 2 nodes respond to the broadcast.Information within the flood broadcast packet header ensures that aflood broadcast will eventually die out.

Generally, a collector 116 issues a flood broadcast several times, e.g.five times, successively to increase the probability that all meters inthe subnet 120 receive the broadcast. A delay is introduced before eachnew broadcast to allow the previous broadcast packet time to propagatethrough all levels of the subnet.

Meters 114 may have a clock formed therein. However, meters 114 oftenundergo power interruptions that can interfere with the operation of anyclock therein. Accordingly, the clocks internal to meters 114 cannot berelied upon to provide an accurate time reading after a powerinterruption. Having the correct time is necessary, however, when timeof use metering is being employed. Indeed, in an embodiment, time of useschedule data may also be comprised in the same broadcast message as thetime. Accordingly, collector 116 periodically flood broadcasts the realtime to meters 114 in subnet 120. Meters 114 use the time broadcasts tostay synchronized with the rest of the subnet 120. In an illustrativeembodiment, collector 116 broadcasts the time every 15 minutes. Thebroadcasts may be made near the middle of 15 minute clock boundariesthat are used in performing load profiling and time of use (TOU)schedules so as to minimize time changes near these boundaries.Maintaining time synchronization is important to the proper operation ofthe subnet 120. Accordingly, lower priority tasks performed by collector116 may be delayed while the time broadcasts are performed.

In an illustrative embodiment, the flood broadcasts transmitting timedata may be repeated, for example, five times, so as to increase theprobability that all nodes receive the time. Furthermore, where time ofuse schedule data is communicated in the same transmission as the timingdata, the subsequent time transmissions allow a different piece of thetime of use schedule to be transmitted to the nodes.

Exception messages are used in subnet 120 to transmit unexpected eventsthat occur at meters 114 to collector 116. In an embodiment, the first 4seconds of every 32-second period are allocated as an exception windowfor meters 114 to transmit exception messages. Meters 114 transmit theirexception messages early enough in the exception window so the messagehas time to propagate to collector 116 before the end of the exceptionwindow. Collector 116 may process the exceptions after the 4-secondexception window. Generally, a collector 116 acknowledges exceptionmessages, and collector 116 waits until the end of the exception windowto send this acknowledgement.

In an illustrative embodiment, exception messages are configured as oneof three different types of exception messages: local exceptions, whichare handled directly by the collector 116 without intervention fromcommunication server 122; an immediate exception, which is generallyrelayed to communication server 122 under an expedited schedule; and adaily exception, which is communicated to the communication server 122on a regular schedule.

FIG. 2 presents a flowchart of a process employed by collector 116 forhandling these exceptions. At step 210, the exception is received atcollector 116. At step 212, collector 116 identifies the type ofexception that has been received. If a local exception has beenreceived, at step 214, collector 116 takes an action to remedy theproblem. For example, when collector 116 receives an exceptionrequesting a node scan request such as discussed below, collector 116transmits a command to initiate a scan procedure to the meter 114 fromwhich the exception was received.

If an immediate exception type has been received, at step 220, collector116 makes a record of the exception. An immediate exception mightidentify, for example, that there has been a power outage. Collector 116may log the receipt of the exception in one or more tables or files. Inan illustrative example, a record of receipt of an immediate exceptionis made in a table referred to as the “Immediate Exception Log Table.”

At step 222, collector 116 waits a set period of time before takingfurther action with respect to the immediate exception. For example,collector 116 may wait 64 seconds. This delay period allows theexception to be corrected before communicating the exception tocommunication server 122. For example, where a power outage was thecause of the immediate exception, collector 116 may wait a set period oftime to allow for receipt of a message indicating the power outage hasbeen corrected.

If at step 224 the exception has not been corrected, at step 226,collector 116 communicates the immediate exception to communicationserver 122. For example, collector 116 may initiate a dial-up connectionwith communication server 122 and download the exception data. Afterreporting an immediate exception to communications server 122, collector116 may delay reporting any additional immediate exceptions for a periodof time such as ten minutes. This is to avoid reporting exceptions fromother meters 114 that relate to, or have the same cause as the exceptionthat was just reported.

If a daily exception was received, at step 230, the exception isrecorded in a file or a database table. Generally, daily exceptions areoccurrences in the subnet 120 that need to be reported to communicationserver 122, but are not so urgent that they need to be communicatedimmediately. For example, when collector 116 registers a new meter 114in subnet 120, collector 116 records a daily exception identifying thatthe registration has taken place. In an illustrative embodiment, theexception is recorded in a database table referred to as the “DailyException Log Table.” At step 232, collector 116 communicates the dailyexceptions to communications server 122. Generally, collector 116communicates the daily exceptions once every 24 hours.

According to an aspect of the disclosed system 110, a collector 116 maydynamically identify meters 114 that are operable to communicate with itin a subnet 120 as well as identify more efficient communication pathsfor previously registered meters. For example, when a collector 116 isinitially brought into system 110, it needs to identify and registermeters in its subnet 120. A “node scan” refers to a process ofcommunication between connectors 116 and meters 114 whereby a collectormay identify and register new nodes in a subnet 120 and allow previouslyregistered nodes to switch paths. A collector 116 can implement a nodescan on the entire subnet, referred to as a “full node scan,” or a nodescan can be performed on specially identified nodes, referred to as a“node scan retry.”

A full node scan may be performed, for example, when a collector isfirst installed. The collector 116 must identify and register nodes fromwhich it will collect usage data. FIGS. 3A and 3B depict a flow chart ofa process for performing a “full node scan.” As shown, at step 310, thecollector 116 initiates the node scan by broadcasting a request, whichmay be referred to as a Node Scan Procedure request. Generally, the NodeScan Procedure request directs that all unregistered meters 114 or nodesthat receive the request respond to the collector 116. The request maycomprise information such as the unique address of the collector thatinitiated the procedure. The signal by which collector 116 transmitsthis request may have limited strength and therefore is detected atmeters 114 that are in proximity of collector 116. Meters 114 thatreceive the Node Scan Procedure request respond by transmitting theirunique identifier as well as other data.

Collector 116 receives a response from one of the meters 114 at step312. At step 313, collector 116 identifies a received signal strength(RSSI) value for the response from meter 114. At step 314, collector 116stores in memory the meter's 114 unique identifier along with thecorresponding RSSI value.

Preferably, collector 116 attempts to register meters 114 that will havea reliable data communication path. Accordingly, at step 316, collector116 compares the RSSI value of the node scan response with a selectedthreshold value. For example, the threshold value may be −60 dBm. RSSIvalues above this threshold are sufficiently reliable. Collector 116maintains a list of meters 114 that responded but which do not satisfythe RSSI threshold. For example, a database table referred to as theStraggler table may be employed to store for each meter that respondedto a Node Scan Response and did not meet the RSSI value, the meter'sunique identifier and the RSSI value of the response. Accordingly, if atstep 316 the RSSI value is not greater than the established threshold,at step 318, collector 116 updates its list to include the meter'sunique identifier and RSSI value. Thereafter, processing continues atstep 326.

If at step 316, the RSSI value exceeds the threshold, at step 324,collector 116 registers the node. Registering a meter 114 comprisesupdating a list of the registered nodes at collector 116. For example,the list may be updated to identify the meter's system-wide uniqueidentifier and the communication path to the node. Collector 116 alsorecords the meter's level in the subnet (i.e. whether the meter is alevel one node, level two node, etc.), whether the node operates as arepeater, and if so, the number of meters for which it operates as arepeater. Upon initialization, the data indicates the node is not arepeater and the number of meters for which it operates as a repeater iszero. The registration process further comprises transmittingregistration information to the meter 114. For example, collector 116forwards to meter 114 an indication that it is registered, the uniqueidentifier of the collector with which it is registered, the level themeter exists at in the subnet, and the unique identifier of the meterwith which it should communicate data. The meter stores this data andbegins to operate as part of the subnet by responding to commands fromits collector 116.

At step 326, collector 116 determines if there are additional responsesto the node scan request. If so, processing continues at step 314.

Steps 310 through 326 may be performed several times so as to insurethat all meters 114 that may receive the Node Scan Procedure, have anopportunity for their response to be received at collector 116.Accordingly, at step 328, collector 116 determines whether the Node Scanshould be implemented again. Generally, this is determined by comparingthe number of times the steps have been completed with a predefinedlimit. If the limit has not been met, processing continues at step 310.If the limit has been met, a first portion of the node scan procedure iscomplete. It is presumed that all first level meters 114 have beenidentified and registered at this point in the process. The Stragglerlist may identify one or more meters 114 that did not satisfy the RSSIthreshold. The node scan process continues by performing a similarprocess as that described above at each of the now registered level onenodes. This process results in the identification and registration oflevel two nodes. After the level two nodes are identified, a similarnode scan process is performed at the level two nodes to identify levelthree nodes, and so on.

FIG. 3B is a flow chart of the process for identifying and registeringmeters located above the level one meters. At step 340, collector 116transmits a command, which may be referred to as an Initiate Node ScanProcedure, to the first of the meters 114 registered at steps 310through 328, to initiate a node scan process at the particular meter114. The request comprises several data items that the receiving metermay use in completing the node scan. For example, the request maycomprise the number of timeslots available for responding nodes, theunique address of the collector that initiated the request, and ameasure of the reliability of the communications between the target nodeand the collector. As described below in connection with FIG. 4, themeasure of reliability is employed during a process for identifying morereliable paths for previously registered nodes.

The meter that receives the Initiate Node Scan Response request respondsby performing a node scan process similar to that described above atsteps 310 through 328. More specifically, the meter broadcasts a requestto which all unregistered nodes respond. The request comprises thenumber of timeslots available for responding nodes (which is used to setthe period for the node to wait for responses), the unique address ofthe collector that initiated the node scan procedure, a measure of thereliability of the communications between the sending node and thecollector (which is used in the process of determining whether a meter'spath may be switched as defined below in connection with FIG. 5), thelevel within the subnet of the node sending the request, and an RSSIthreshold (which is used in the process of determining whether aregistered meter's path may be switched as described below in connectionwith FIG. 4). The meter issuing the node scan request waits for andreceives responses. For each response, the meter stores in memory theunique identifier and the RSSI value of the response. At step 342,collector 116 waits while the response are collected at the meter thatissued the node scan. At step 344, collector 116 retrieves the nodeinformation that has been collected by the meter. At step 346, collector116 parses the information and selects one of the meters or potentialnodes in the list of retrieved data.

Collector 116 attempts to register meters 114 that will have a reliabledata communication path. Accordingly, at step 348, collector 116compares the RSSI value for the selected meter 114 with a selectedthreshold value. If the RSSI value is not greater than the thresholdvalue, at step 350, collector 116 determines if the particular meter waspreviously identified as having responded to a Node Scan Responserequest but having not met the RSSI threshold. Specifically, collector116 may refer to its Straggler table or similar file where it maintainsa list of meters 114 that meet this criteria. If so, at step 352,collector 116 compares the RSSI value with the previously stored value.If the new RSSI value is greater than the previous value, at step 354,collector updates the Straggler table to identify the new RSSI value andthe new communication path. If at step 352, the new RSSI value is notgreater than the previous value, processing continues at step 362. If atstep 350, it is determined that the particular meter 114 is not in theStraggler table, processing continues at step 354, where the Stragglertable is updated to reflect the meter identifier, the communication pathto this meter and the RSSI value. Thereafter, processing continues atstep 362.

If at step 348, the RSSI value exceeded the threshold, at step 360,collector 116 registers the node. Registering a meter 114 comprisesupdating a list of the registered nodes at collector 116. For example,the list may be updated to identify the meter's unique identifier andthe level of the meter in the subnet, i.e. whether the meter is a levelone node, level two node, etc. Additionally, the collector's 116registration information is updated to reflect that the meter 114 fromwhich the scan process was initiated is identified as a repeater for thenewly registered node. The registration process further comprisestransmitting information to the newly registered meter as well as themeter that will serve as a repeater for the newly added node. Forexample, the node that issued the node scan request is updated toidentify that it operates as a repeater and, if it was previouslyregistered as a repeater, increments a data item identifying the numberof nodes for which it serves as a repeater. Thereafter, collector 116forwards to the newly registered meter an indication that it isregistered, an identification of the collector 116 with which it isregistered, the level the meter exists at in the subnet, and the uniqueidentifier of the node with which it communicates to forward informationto collector 116.

At step 362, collector 116 determines if there are additional nodesidentified in the information retrieved from the meter 114 thatperformed the node scan request. If so, processing continues at step346.

If at step 362, there are no potential nodes to be evaluated, at step364, collector 116 determines if there are other registered nodes on thesame level that have not been directed to perform a node scan. Forexample, if level 1 nodes are being scanned for potential level 2 nodes,at step 364 collector 116 determines if there are any level 1 nodes thathave not yet performed a node scan procedure. If so, processingcontinues at step 340 wherein collector requests that a node scanprocedure be performed at the node.

If at step 364, all nodes at the level of the subnet under evaluationhave been reviewed, processing continues at step 366, with collector 116determining if there are registered meters at the next level of thesubnet. If so, processing continues at step 340 with node scans beingperformed at this next level.

If at step 366 there are no registered nodes at the next higher level,at step 370, collector 116 registers the nodes identified in the list ofmeters that have responded but did not meet the RSSI threshold. At thispoint in the process, presumably, the list comprises the best pathidentified for each of the unregistered meters that responded, even ifthat path does not meet the desired RSSI threshold. If during operationof the network, a meter registered in this manner fails to performadequately, it may be assigned a different path or possibly to adifferent collector as described below.

As previously mentioned, a full node scan may be performed when acollector 116 is first introduced to a network. At the conclusion of thefull node scan, a collector 116 will have registered a set of meters 114with which it communicates and reads metering data. Full node scansmight be periodically performed by an installed collector to identifynew meters 114 that have been brought on-line since the last node scanand to allow registered meters to switch to a different path.

In addition to the full node scan, collector 116 may also perform aprocess of scanning specific meters 114 in the subnet 120, which isreferred to as a “node scan retry.” For example, collector 116 may issuea specific request to a meter 114 to perform a node scan outside of afull node scan when on a previous attempt to scan the node, thecollector 116 was unable to confirm that the particular meter 114received the node scan request. Also, a collector 116 may request a nodescan retry of a meter 114 when during the course of a full node scan thecollector 116 was unable to read the node scan data from the meter 114.Similarly, a node scan retry will be performed when an exceptionprocedure requesting an immediate node scan is received from a meter114.

According to an aspect of the disclosed embodiment, system 110automatically reconfigures to accommodate a new meter 114 that may beadded. More particularly, the system identifies that the new meter hasbegun operating and identifies a path to a collector 116 that willbecome responsible for collecting the metering data. A flow chart of aprocess for adding a new meter is depicted in FIG. 4. As shown, at step410, the new meter broadcasts an indication that it is unregistered. Inone embodiment, this broadcast might be, for example, embedded in, orrelayed as part of a request for an update of the real time as describedabove. At step 412, the broadcast is received at one of the registeredmeters 114 in proximity to the meter that is attempting to register. Atstep 414, the registered meter 114 forwards the time to the meter thatis attempting to register. At step 416, the registered node alsotransmits an exception request to its collector 116 requesting that thecollector 116 implement a node scan, which presumably will locate andregister the new meter. At step 418, the collector 116 transmits arequest that the registered node perform a node scan. At step 420, theregistered node performs the node scan during which it requests that allunregistered nodes respond. At step 422, the newly added, unregisteredmeter responds to the node scan. At step 424, the unique identifier ofthe newly added node along with the RSSI value of its response arestored on the registered node. At step 426, collector 116 retrieves theresponse data. If at step 428 the RSSI value of the response from thenew meter exceeds the established RSSI threshold, at step 430 collector116 updates its data files to identify the new meter as being registeredand transmits a registration notification to the new meter. If at step428 the RSSI value does not exceed the threshold, the unique identifieris added to the list of unregistered nodes, at step 432. The newly addedmeter will continue to broadcast that it is unregistered and ultimatelywill be registered through a meter with which it satisfies the RSSIthreshold.

A collector 116 periodically retrieves meter data from the meters thatare registered with it. For example, meter data may be retrieved from ameter every 4 hours. Where there is a problem with reading the meterdata on the regularly scheduled interval, the collector will try to readthe data again before the next regularly scheduled interval.Nevertheless, there may be instances wherein the collector 116 is unableto read metering data from a particular meter 114 for a prolonged periodof time. The meters 114 store an indication of when they are read bycollector 116 and keep track of the time since their data has last beencollected by the collector 116. If the length of time since the lastreading exceeds a defined threshold such as for example, 18 hours,presumably a problem has arisen in the communication path between theparticular meter 114 and the collector 116. Accordingly, the meter 114changes its status to that of an unregistered meter and attempts tolocate a new path to a collector 116 via the process described above inconnection with FIG. 4. Thus, the exemplary system is operable todynamically reconfigure itself to address inadequacies in the system.

In some instances, while a collector 116 may be able to retrieve datafrom a registered meter 114 occasionally, the level of success inreading the meter may be inadequate. For example, if a collector 116attempts to read meter data from a meter 114 every 4 hours but is ableto read the data, for example, only 70 percent of the time or less, itmay be desirable to find a more reliable path for reading the data fromthat particular meter. Where the frequency of reading data from a meter114 falls below a desired frequency, the collector 116 transmits amessage to the meter 114 to respond to node scans going forward. Themeter 114 remains registered but will respond to node scans such as aredescribed above in connection with FIG. 3. If the meter 114 responds toa node scan procedure, the collector 116 recognizes the response asoriginating from a registered meter. The collector 116 verifies that theRSSI value of the node scan response exceeds the established threshold.If it does not, the potential path is not acceptable. However, if theRSSI threshold is met, the collector 116 initiates a qualificationprocedure whereby it makes several attempts to reach the meter throughthe potential path. If the collector is successful in establishingcommunication with the meter through the potential path more than anacceptable percentage of the time, e.g. 80 percent, then the collectorregisters the meter in the new path. The registration process comprisesupdating the collector 116 and meter 114 with data identifying therepeater with which the meter 114 will communicate. Additionally, if therepeater has not previously performed the operation of a repeater, therepeater would need to be updated to identify that it is a repeater.Likewise, the repeater with which the meter previously communicated isupdated to identify that it is no longer a repeater for the particularmeter 114.

In some instances, a more reliable communication path for a meter mayexist through a collector other than that with which the meter isregistered. A meter may automatically recognize the existence of themore reliable communication path, switch collectors, and notify theprevious collector that the change has taken place. FIG. 5 provides aflow chart of a method for switching the registration of a meter from afirst collector to a second collector. As shown, at step 510, aregistered meter 114 receives a node scan request from a collector 116other than that with which the meter is registered. Typically, aregistered meter 114 does not respond to node scan requests. However, ifthe request is likely to result in a more reliable transmission path,even a registered meter may respond. Accordingly, at step 512, the meterdetermines if the new collector offers a potentially more reliabletransmission path. For example, the meter 114 may determine if the pathto the potential new collector 116 comprises fewer hops than the path tothe collector with which the meter is registered. If not, the path maynot be more reliable and the meter 114 will not respond to the nodescan. The meter 114 might also determine if the RSSI of the node scanpacket exceeds an RSSI threshold identified in the node scaninformation. If so, the new collector may offer a more reliabletransmission path for meter data. If not, the transmission path is notacceptable and the meter does not respond. Additionally, if thereliability of communication between the potential new collector and therepeater that would service the meter meets a threshold established whenthe repeater was registered with its existing collector, thecommunication path to the new collector may be more reliable. If thereliability does not exceed this threshold, however, the meter 114 doesnot respond to the node scan.

If at step 512, it is determined that the path to the new collector maybe better than the path to its existing collector, at step 514, themeter 114 responds to the node scan. Included in the response isinformation regarding any nodes for which the particular meter mayoperate as a repeater. For example, the response might identify thenumber of nodes for which the meter serves as a repeater.

At step 516, collector 116 determines if it has the capacity to servicethe meter and any meters for which it operates as a repeater. If not,the collector 116 does not respond to the meter that is attempting tochange collectors. If, however, the collector 116 determines that it hascapacity to service the meter 114, at step 518, the collector 116 storesregistration information about the meter 114. At step 520, collector 116transmits a registration command to meter 114. At step 522, the meter114 updates its registration data to identify that it is now registeredwith the new collector. At step 524, collector 116 communicatesinstruction to the meter 114 to initiate a node scan request. Nodes thatare unregistered, or that had previously used meter 114 as a repeaterrespond to the request to identify themselves to collector 116. Thecollector registers these nodes as is described above in connection withregistering new meters/nodes.

Under some circumstances it may be necessary to change a collector. Forexample, a collector may be malfunctioning, and need to be takenoff-line. Accordingly, a new communication path must be provided forcollecting meter data from the meters serviced by the particularcollector. The process of replacing a collector is performed bybroadcasting a message to unregister, usually from a replacementcollector, to all of the meters that are registered with the collectorthat is being removed from service. According to an aspect of thedisclosed embodiment, registered meters may be programmed to onlyrespond to commands from the collector with which they are registered.Accordingly, the command to unregister may comprise the uniqueidentifier of the collector that is being replaced. In response to thecommand to unregister, the meters begin to operate as unregisteredmeters and respond to node scan requests. To allow the unregisteredcommand to propagate through the subnet, when a node receives thecommand it will not unregister immediately, but rather remain registeredfor a defined period, which may be referred to as the “Time to Live”.During this time to live period, the nodes continue to respond toapplication layer and immediate retries allowing the unregistrationcommand to propagate to all nodes in the subnet. Ultimately, the metersregister with the replacement collector as described above in connectionwith FIG. 3.

One of collector's 116 main responsibilities within subnet 120 is toretrieve metering data from meters 114. The self-configuring andself-healing characteristics of system 110 provide that collectors 116have improved reliability in reading usage data. Generally, meters 114store data regarding usage of electricity, gas, water, etc. in memory.Collector 116 periodically retrieves this data from nodes in its subnet120. In an embodiment, collector 116 has as a goal to obtain at leastone successful read of the metering data per day from each node in itssubnet. Collector 116 attempts to retrieve the data from all nodes inits subnet 120 at a configurable periodicity. For example, collector 116may be configured to attempt to retrieve metering data from meters 114in its subnet 120 once every 4 hours. FIG. 6 depicts a flow chart of aprocess for retrieving data from meters 114 in a subnet 120. As shown,at step 610, collector 116 identifies one of the meters 114 in itssubnet 120. For example, collector 116 reviews a list of registerednodes and identifies one for reading. At step 612, collector 116communicates a command to the particular meter 114 that it forward itsmetering data to the collector 116. If at step 614, the meter reading issuccessful and the data is received at collector 116, at step 616collector 116 determines if there are other meters that have not beenread during the present reading session. If so, processing continues atstep 610. However, if all of the meters 114 in subnet 120 have beenread, at step 618, collector waits a defined length of time, such as,for example, 4 hours, before attempting another read.

If at step 614, the meter data was not received at collector 116, atstep 620 collector 116 begins a retry procedure wherein it attempts toretry the data read from the particular meter. Collector 116 continuesto attempt to read the data from the node until either the data is reador the next subnet reading takes place. In an embodiment, collector 116attempts to read the data every 60 minutes. Thus, wherein a subnetreading is taken every 4 hours, collector 116 may issue three retriesbetween subnet readings.

The inability to read metering data may be the result of communicationfailures that can take place at the packet communication level. Forexample, if for each hop the probability of successful communications is95%, a level 8 node requires 16 message hops, which would result in a44% probability a successful round trip message. If 2 immediate retriesare used for each hop, the per hop probability increases from 95% to99.98% and the probability of a successful round trip message increasesto 99.8%. Accordingly, in an embodiment of the disclosed system, witheach successive retry to read data from a node, the number of packetlevel retries increases. For example, if during a normal read attemptone packet level retry is undertaken, when an application level retry toread the data is made by the collector, two or more packet level retriesmay be implemented. Thus, as the number of application level retriesincreases, so does the number of packet level retries. Furthermore, thenumber of packet level retries varies according to the level at whichthe particular meter 114 exists in the subnet 120. The higher the level,the greater the number of packet level retries. The table below listsexemplary packet level retries for various subnet levels and variousnumbers of prior application level retry attempts. Application LayerAttempt 1 2 ≧3 Levels 1 and 2 1 2 3 Levels 3 and 4 2 3 4 Levels 5-6 2 34 Levels >6 3 4 5

In an embodiment of system 120, meters 114 are typically two-waymeters—i.e. they are operable to both receive and transmit data.However, one-way meters that are operable only to transmit and notreceive data may also be deployed in the system 110. FIG. 7 provides aflow chart of a process for reading data from one-way meters deployed inthe system. As shown, at step 710 a one-way meter broadcasts their usagedata. At step 712, this data is received at one or more two-way metersthat are in proximity to the one-way meter. At step 714, the data isstored on the two-way meter, and designated as having been received fromthe one-way meter. At step 716, the data from the one-way meter iscommunicated to the collector with which the two-way meter isregistered. For example, when the collector reads the two-way meterdata, it recognizes the existence of meter data from the one-way meterand reads it as well. At step 718, after the data from the one-way meterhas been read by the collector from the two-way meter, the data isremoved from memory of the two-way meter.

A block diagram for an exemplary meter device operable to perform asmeter 114 or collector 116 as described above is depicted in FIG. 8. Asshown, meter device 810 comprises metering electronics 812 forphysically measuring the amount of a service or commodity that is used,and wireless communications electronics 814 for transmitting andreceiving data to other meter devices. Device 810 further comprisesmemory 816 for storing data and executable instructions for performingmethods as described above. Processor 818 is operable to execute theinstructions stored in memory 816. Device 810 may further comprisevisual display 818 for displaying metering data at device 810.Wire-based communications electronics 820 provides the capability tocommunicate with device 810 via means other than wirelessly. Forexample, wire-based communications electronics 820 may comprise a modemfor communicating over telephone lines or a network protocol transceiverfor communicating over a dedicated local area or wide area network.

In an embodiment of the invention, the system includes a number ofmeters which will be referred to as “first” meters. The first meters aretypically battery powered devices. However, the first meters may alsouse other energy sources in place of or in addition to battery power.Furthermore, the first meters are typically one-way meters which aretransmit only devices. However, the first meters may also be two-waymeters, which are operable to both transmit and receive data. The firstmeters transmit their data to the collector either directly orindirectly via intermediate two-way meters.

A number of improvements may be implemented with respect to the transferof meter data from the first meters. In one such improvement,intermediate two-way meters store multiple records from each firstmeter, thereby ensuring that records from a one-way meter will not beblocked when an attempt is made to forward them to the collector. Inanother improvement, each data record includes a unique identifier (UID)that identifies the particular first meter from which it is generated.Additionally, each data record includes an update sequence marker (USM)that identifies the sequence in which records are generated. The USMensures that, a newer message will not be overwritten with the oldermessage. Furthermore, each data record includes a data format code thatidentifies a data format of the record. The collector may store multiplerecords for a first meter, each corresponding to a particular dataformat. In another improvement, each record from a first meter isassigned a corresponding timestamp when it is received at either atwo-way meter or the data collector. The timestamp allows system 120 tocalculate time sensitive information from the first meters.

A flowchart of an exemplary method for transmitting meter data from afirst meter to a data collector in accordance with the present inventionis shown in FIG. 9. At step 908, a meter record is generated at thefirst meter, and, at step 910, the meter record is transmitted. Asstated above, the meter record may be received either directly by thedata collector or by an intermediate two-way meter. As also statedabove, the transmitted meter record may be assigned the UID of the firstmeter at which it is generated, a USM, and a data format code. The USMis preferably a one byte field that wraps around to zero after reachinga maximum value of 255.

If, at step 910, the meter record is transmitted indirectly to thecollector, then, at step 912, the meter record is received by anintermediate two-way meter. At step 914, the meter record is timestampedby the two-way meter. As stated above, the timestamp allows system 120to calculate time sensitive information from the first meters. Such timedependent information may be, for example, interval data, leak detectioninformation, or time of use related data. First meters are typicallybattery powered devices designed to consume as little power as possible,and, therefore, do not have a highly accurate real time clock. Thus,timestamps are provided by the two-way meter (or possibly by thecollector as will be discussed later) rather than by the first metersthemselves. To minimize storage space, the timestamp is preferably avalue between 0 and 95 that indicates a 15-minute interval during theday in which a record is received. As should be appreciated, thetimestamp may, if desired, include greater resolution than 0-95.

At step 916, the two-way meter stores the received meter record. Asstated above, the two way meters are capable of storing multiple recordsfrom each first meter. To preserve the life of the two-way meter'snon-volatile memory, the number of memory writes may be limited byimplementing the memory as a “circular table”. For example, if aninitial first meter record is stored in a first memory location, then alater received first meter record will be stored in a second memorylocation. This is true even if the later received record is receivedafter the initial record has already been forwarded to the collector andcleared from the first memory location.

At step 918, the meter record is transmitted to the collector. The meterrecord may be transmitted to the collector using one of two methods. Inthe first method, the meter record is detected and requested by thecollector during a read of data from the two-way meter. The first methodis described in detail below with reference to FIG. 10. In the secondmethod, the meter record is forwarded to the collector using theexception message technique as described above with reference to FIG. 7.

When an exception message is forwarded the collector, the collectorreturns a response to the two-way meter to acknowledge the exception andclear the transmitted meter record from its memory location. Other meterrecords may remain at the two-way meter and be transferred in a futureexception window. If the exception message is unsuccessful, thecollector may detect and retrieve the data when the collector detectsone way node data during a normal, periodic read of the two-way nodeaccording to the first method. It should be recognized that the receiptof the meter record by the collector could cause the collector to send“Read Exceptions” messages until all one-way node records are clearedfrom the two-way node.

In both the first and the second methods, the transmitted meter recordincludes a record number that identifies the memory location of themeter record at the two-way meter. After receiving the meter record, thecollector returns instructions to delete the memory location identifiedby the transmitted record number.

The first method is generally the faster method, but the second methodis generally the more reliable method. However, both the first and thesecond methods may be simultaneously enabled, thereby enabling both fastand reliable transfers.

At step 920, the meter record is received by the collector. Uponreceiving the meter record, the collector may verify the validity of thetimestamp. The timestamp may be invalid if, for example, the meterrecord was received at the two-way node shortly after a power failureand before the two-way node received time information from the network.The validity of the timestamp may be verified by comparing the timestampwith a timestamp of a matching record that is already stored at thecollector. Such a matching record may be identified by a matching firstmeter UID, a matching USM, and a matching data format code. If thecollector contains a matching record with an invalid timestamp, then itwill overwrite the invalid matching record timestamp with the validreceived timestamp.

If, at step 910, the meter record is transmitted directly to thecollector, then, at step 922, the meter record is received directly bythe collector. At step 924, the collector timestamps the meter record.At step 926, the collector stores the meter record. An exemplary methodfor storing the meter record is discussed in detail below with referenceto FIG. 11.

A flowchart of an exemplary method for transmitting meter data from anintermediate two-way meter to the collector in accordance with thepresent invention is shown in FIG. 10. The method described in FIG. 10may be implemented at step 918 of FIG. 9. Alternatively or in additionto the method described in FIG. 10, the meter record may be forwarded tothe collector using the exception message technique as described abovewith reference to FIG. 7.

At step 1010, the collector reads the two-way meter, and, at step 1012,the collector detects a first meter record at the two-way meter. Thecollector may, for example, detect an exception flag set by the two-waymeter. At step 1014, the collector requests the meter record from thetwo-way meter. The collector may request the meter record by sending aread exceptions message to the two-way meter. At step 1016, the two-waymeter receives the request for the meter record, and, at step 1018, thetwo-way meter transmits the meter record to the collector in response tothe request. At step 1020, the collector receives the meter record fromthe two-way meter.

At step 1022, the collector sends a next request for a next meter recordfrom the two-way meter. The next request sent at step 1022 includesinstructions to the two-way meter to clear the previously transmittedmeter record from its memory. At step 1024, the two-way meter receivesthe next request, and, at step 1026, the two-way meter clears thepreviously transmitted meter record from its memory.

If there is another meter record that is stored at the two-way node,then, at step 1028, the other meter record is transmitted to thecollector. The method then returns to step 1020, at which the othermeter record is received by the collector. If there are no remainingmeter records stored at the two-way node, then, at step 1030, thetwo-way node sends a response indicating such.

A flowchart of an exemplary method for storing a meter record at thecollector in accordance with the present invention is shown in FIG. 11.The method described in FIG. 11 may be implemented at step 926 of FIG.9.

At step 1110, after receiving the meter record, the collector determinesif there is already stored in its memory an existing record with thesame first meter unique identifier (UID) and data format code as thereceived record. If not, then, at step 1112, the collector stores themeter record. If so, then, at step 1114, the collector compares the USMof the received meter record with the USM of the existing record todetermine which of the two-records was more recently generated by thefirst meter.

The following logic may be used to determine whether the received meterrecord is more recent than the existing meter record. If the receivedUSM is greater than the existing USM, then the received meter record ismore recent if:(Received USM)−(existing USM)<128

If the received USM is less than the existing USM, then the receivedmeter record is more recent if:(Received USM)−(existing USM)>128

If the received meter record is more recent than the existing meterrecord, then, at step 1116, the collector overwrites the existing meterrecord with the received meter record. If, on the other hand, theexisting meter record is more recent than the received meter record,then, at step 1118, the collector discards the received meter record.

Thus, the present invention includes a number of improvements withrespect to the transfer of data from first meters. As should beappreciated, data from a particular first meter may be transmitted to,received by, and stored at multiple two-way meters and multiplecollectors. As discussed above, a collector will determine if a meterrecord should be stored as a new record, be used to overwrite apreviously stored record, or be discarded. This determination is madewithout regard to whether the meter record is received via anintermediate two-way meter or directly from a first meter. Ultimately, aremote automated meter reading (AMR) server software may receive themeter data from all of the collectors in the system and filter outduplicate or old records to reconstruct data from first meters. The AMRserver intelligence may also take multiple first meter records and allowtime dependent information such as, for example, load profile data to beconstructed for a longer period of time than can be held in a singlerecord. After the AMR server software reads the meter data from acollector, the data in the collector may be cleared, and the collectormemory may be made available for new or different meter data, since thedata is safely stored and maintained by the AMR server.

FIG. 12 is a diagram of a generic computing device, which may beoperable to perform the steps described above as being performed bycommunications server 122. As shown in FIG. 12, communications server1222 includes processor 1222, system memory 1224, and system bus 1226that couples various system components including system memory 1224 toprocessor 1222. System memory 1224 may include read-only memory (ROM)and/or random access memory (RAM). Computing device 1220 may furtherinclude hard-drive 1228, which provides storage for computer readableinstructions, data structures, program modules, data, and the like. Auser (not shown) may enter commands and information into the computingdevice 1220 through input devices such as keyboard 1240 or mouse 1242. Adisplay device 1244, such as a monitor, a flat panel display, or thelike is also connected to computing device 1220. Communications device1243, which may be a modem, network interface card, or the like,provides for communications over a network. System memory 1224 and/orhard-drive 1228 may be loaded with any one of several computer operatingsystems such as WINDOWS NT operating system, WINDOWS 2000 operatingsystem, LINUX operating system, and the like.

Those skilled in the art understand that processor readable instructionsfor implementing the above-described processes, such as those describedwith reference to FIGS. 2-7 and 9-11 can be generated and stored inprocessor-readable memory and processor-readable media such as amagnetic disk or CD-ROM. Further, a computing system such as thatdescribed with reference to FIG. 12 may be arranged with meteringdevices such as that described in FIG. 8, and the devices loaded withprocessor-readable instructions for performing the above describedprocesses. Specifically, referring to FIGS. 8 and 12, processors 1222and 818 may be programmed to operate in accordance with theabove-described processes.

Thus, systems and methods for improved transmission of meter data havebeen disclosed. Multiple records from each first meter may be stored atintermediate two-way meters, thereby ensuring that records are notprematurely overwritten before they are forwarded to the collector.Furthermore, multiple records from each first meter may be stored at thecollector, thereby enabling the transmission and storage of meterrecords in a number of different formats. Additionally, records fromeach first meter are marked to reflect a sequence in which they aregenerated, thereby ensuring that the collector will store only the mostrecent data records available.

While systems and methods have been described and illustrated withreference to specific embodiments, those skilled in the art willrecognize that modification and variations may be made without departingfrom the principles described above and set forth in the followingclaims. For example, while communication server 122 has been describedas communicating with collectors 116 via a dial-up connection, thecommunication may take place wirelessly or over a fixed network, such asa Lan, Wan, the Internet or an intranet. Additionally, although in theembodiments described above, the systems and methods of the presentinvention are described in the context of a network of metering devices,such as electricity, gas, or water meters, it is understood that thepresent invention can be implemented in any kind of network in which itis necessary to obtain information from or to provide information to enddevices in the system, including without limitation, networks comprisingmeters, in-home displays, in-home thermostats, load control devices, orany combination of such devices. Accordingly, reference should be madeto the following claims as describing the scope of the presentinvention.

1. A method for collecting a device record generated at a first device,the device record comprising a sequence number identifying a sequence inwhich the device record is generated, the method comprising: receivingthe device record at a collector; storing the received device record atthe collector if the update sequence number indicates that the receiveddevice record is more recently generated than an existing device recordfrom the first device already stored at the collector.
 2. The method ofclaim 1, comprising receiving the device record at a plurality ofcollectors.
 3. The method of claim 2, further comprising transmittingdevice data from the plurality of collectors to a server.
 4. The methodof claim 1, comprising receiving the device record at the collector fromthe first device, which is a one-way meter device.
 5. The method ofclaim 1, comprising receiving the device record at the collector fromthe first device, which is a battery powered meter device.
 6. The methodof claim 1, comprising receiving the device record at the collector fromthe first device, which is a two-way meter device.
 7. The method ofclaim 1, comprising receiving the device record at the collectordirectly from the first device.
 8. The method of claim 1, comprisingreceiving the device record at the collector indirectly from the firstdevice via an intermediate two-way device.
 9. The method of claim 8,wherein receiving the device record at the collector indirectly from thefirst device via an intermediate two-way device comprises: performing aperiodic read of the intermediate two-way device; detecting that atleast one device record from at least one first device is available; andsending a request for each of the detected device records until all ofthe detected device records have been retrieved at the collector. 10.The method of claim 8, further comprising timestamping the device recordat the intermediate two-way device.
 11. The method of claim 1, furthercomprising: upon receiving the time stamped device record at thecollector, comparing the received timestamped device record to anothertime stamped device record already stored at the collector; determiningthat the other timestamp is invalid; and overwriting the othertimestamped device record with the received timestamped device record.12. The method of claim 1, further comprising timestamping the devicerecord at the collector.
 13. The method of claim 1, wherein storing thereceived device record at the collector comprises: identifying a dataformat of the received device record and the existing device record;determining whether the received device record has the same data formatas the existing device record; if not, then storing the received devicerecord at the collector; and if so, then comparing the sequence markerof the received device record with a sequence marker of the existingdevice record and overwriting the existing device record with thereceived device record if the received device record is more recentlygenerated than the existing device record.
 14. The method of claim 1,wherein storing the received device record at the collector comprisesstoring the received device record along with previous received devicerecords from the first device.
 15. A method for transmitting a devicerecord generated at a first device to a two-way device, the methodcomprising: receiving the device record at the two-way device; andstoring the device record at the two-way device in one of a plurality ofmemory locations.
 16. The method of claim 15, comprising storing thedevice record in one of the plurality of memory locations implemented asa circular table whereby a number of memory writes to each particularmemory location is minimized.
 17. The method of claim 15, comprisingreceiving the device record at the two-way device from the first device,which is a one-way meter device.
 18. The method of claim 15, comprisingreceiving the device record at the two-way device from the first device,which is a battery powered meter device.
 19. The method of claim 15,comprising receiving the device record at the two-way device from thefirst device, which is a two-way meter device.
 20. The method of claim15, further comprising: transmitting from the two-way device to acollector an exception message including the device record; andreceiving at the two-way device from the collector an acknowledgementthat causes the two-way device to clear the device record from itsmemory location.
 21. The method of claim 15, further comprising:receiving at the two-way device from a collector a first request to readthe device record; transmitting the device record from the two-waydevice to the collector; receiving at the two-way device from thecollector a second request for a next device record associated with thefirst device, the second request comprising instructions to clear thepreviously transmitted device record from its memory location at thetwo-way device; and clearing the previously transmitted device recordfrom its memory location at the two-way device.
 22. The method of claim21, further comprising recursively transmitting device records from thetwo-way device to the collector until all device records associated withthe first device are cleared from the memory at the two-way device. 23.The method of claim 15, further comprising timestamping the devicerecord at the two-way device.
 24. An automated device reading systemcomprising: a first device that generates and transmits a device recordcomprising a sequence number identifying a sequence in which the devicerecord is generated; and a collector that receives the device recordfrom the one way device and stores the received device record if thesequence number indicates that the received device record is morerecently generated than an existing device record from the first devicealready stored at the data collector.
 25. The method of claim 24,wherein the collector is one of a plurality of collectors receiving thedevice record.
 26. The method of claim 25, further comprising a serverthat receives device data from the plurality of collectors.
 27. Thesystem of claim 24, wherein the first device is a one-way meter device.28. The system of claim 24, wherein the first device is a batterypowered meter device.
 29. The system of claim 24, wherein the firstdevice is a two-way meter device.
 30. The system of claim 24, whereinthe device record further comprises a first data format code identifyinga data format of the device record.
 31. The system of claim 24, whereinthe collector determines whether the existing device record has a samedata format as the received device record, and overwrites the existingdevice record with the received device record if the sequence number ofthe received device record indicates that the received device record ismore recently generated than the existing device record.
 32. The systemof claim 24, wherein the collector timestamps the device record when thedevice record is received by the collector.
 33. The system of claim 24,further comprising an intermediate two-way device that relays the devicerecord from the first device to the collector.
 34. The system of claim33, wherein the intermediate two-way device timestamps the device recordwhen the device record is received by the intermediate two-way device.35. An automated device reading system comprising: a first device thatgenerates and transmits a device record; a two-way device that receivesthe device record from the one way device and stores the device recordin one of a plurality of memory locations.
 36. The system of claim 35,wherein the plurality of memory locations are implemented as a circulartable whereby a number of memory writes to each particular memorylocation is minimized.
 37. The system of claim 35, wherein the firstdevice is a one-way meter device.
 38. The system of claim 35, whereinthe first device is a battery powered meter device.
 39. The system ofclaim 35, wherein the first device is a two-way meter device.
 40. Thesystem of claim 35, further comprising a collector.
 41. The system ofclaim 40, wherein the two-way device transmits to the collector anexception message including the device record.
 42. The system of claim40, wherein the two-way device receives from the collector a request toread the device record, and transmits the device record to the collectorin response to the request.
 43. The system of claim 35, wherein thetwo-way device timestamps the device record when the device record isreceived by the two-way device.
 44. A processor-readable medium havingstored thereon instructions for establishing a wireless communicationnetwork among a plurality of devices, the instructions, when executed bya processor at a collector, causing the processor at said collector to:receive a device record generated at a first device, the device recordcomprising a sequence number identifying a sequence in which the devicerecord is generated; store the received device record if the updatesequence number indicates that the received device record is morerecently generated than an existing device record from the first devicealready stored at the collector.
 45. The processor-readable medium ofclaim 44, wherein the collector is one of a plurality of collectorsreceiving the device record.
 46. The processor-readable medium of claim45, further comprising a server that receives device data from theplurality of collectors.
 47. The processor-readable medium of claim 44,wherein the first device is a one-way meter device.
 48. Theprocessor-readable medium of claim 44, wherein the first device is abattery powered meter device.
 49. The processor-readable medium of claim44, wherein the first device is a two-way meter device.
 50. Theprocessor-readable medium of claim 44, wherein the device record furthercomprises a first data format code identifying a data format of thedevice record.
 51. The processor-readable medium of claim 44, whereinthe instructions cause the processor to store the received device recordby determining whether the existing device record has a same data formatas the received device record, and overwriting the existing devicerecord with the received device record if the sequence number of thereceived device record indicates that the received device record is morerecently generated than the existing device record.
 52. Theprocessor-readable medium of claim 44, wherein the instructions furthercause the processor to timestamp the device record when the devicerecord is received by the collector.
 53. The processor-readable mediumof claim 44, further comprising an intermediate two-way device thatrelays the device record from the first device to the collector.
 54. Theprocessor-readable medium of claim 53, wherein the intermediate two-waydevice timestamps the device record when the device record is receivedby the intermediate two-way device.
 55. The processor-readable medium ofclaim 54, wherein the instructions further cause the processor to uponreceiving the timestamped device record at the collector, compare thereceived timestamped device record to another timestamped device recordalready stored at the collector; determine that the other timestamp isinvalid; and overwrite the other timestamped device record with thereceived timestamped device record.
 56. A processor-readable mediumhaving stored thereon instructions for establishing a wirelesscommunication network among a plurality of devices, the instructions,when executed by a processor at a two-way device, causing the processorat said two-way device to: receive a device record generated at a firstdevice; and store the device record in one of a plurality of memorylocations.
 57. The processor-readable medium of claim 56, wherein theplurality of memory locations are implemented as a circular tablewhereby a number of memory writes to each particular memory location isminimized.
 58. The processor-readable medium of claim 56, wherein thefirst device is a one-way meter device.
 59. The processor-readablemedium of claim 56, wherein the first device is a battery powered meterdevice.
 60. The processor-readable medium of claim 56, wherein the firstdevice is a two-way meter device.
 61. The processor-readable medium ofclaim 56, wherein the instructions further cause the processor totransmit to a collector an exception message including the devicerecord.
 62. The processor-readable medium of claim 56, wherein theinstructions further cause the processor to: receive from a collector arequest to read the device record; and transmit the device record to thecollector in response to the request.
 63. The processor-readable mediumof claim 56, wherein the instructions further cause the processor totimestamp the device record when the device record is received by thetwo-way device.